/**
 * C 语言版本
 */

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <unistd.h>
#include <string>



//任务结构体定义
typedef struct Task Task;

//线程池结构体定义
typedef struct Thread_Pool Thread_Pool;
//创建线程并初始化
Thread_Pool *threadPoolCreate(int min,int max,int queueSize);
//销毁线程池
int threadPoolDestroy(Thread_Pool* pool);
//管理员线程任务函数
void *manager(void*arg);

//工作线程（消费者）任务函数
void *worker(void*arg);

//给线程池添加任务函数
void threadADD(Thread_Pool* pool,void(*func)(void*),void* arg);
//获取线程池中工作的线程个数
int threadPoolBusyNum(Thread_Pool *pool);
//获取线程池中活着的线程个数
int threadPoolLiveNum(Thread_Pool *pool);
//

//线程退出函数
void threadExit(Thread_Pool* pool);

